1. Field of the Invention
The present invention relates to signal demodulation in a code-division, multiple-access (CDMA) telecommunication system, and, more particularly, to despreading and preamble detection of code sequences in a CDMA receiver.
2. Description of the Related Art
In wireless, cellular, or similar code-division, multiple-access (CDMA) telecommunication systems, multiple channels are defined for up-link (user to base station) and down-link (base station to user) communications. Generally, each channel includes a spread signal synchronized to a common timing reference. A pilot signal is an unmodulated code sequence that is a transmitted throughout the system for synchronization of the various code sequences (in time and in code phase), and the pilot signal is used by the spreading (modulation) and de-spreading (demodulation) operations. Channel signals may be spread, in frequency, using pseudo-random (PN) and/or orthogonal code sequences.
Signals transmitted through a channel are binary data represented by a sequence of values, each value termed a symbol. The spreading PN code sequence is also binary data represented by a sequence of values, each value called a chip. However, the width (length in time) of a chip is much less than the width of a symbol. For some systems operating in accordance with the IS-95 or wideband CDMA (W-CDMA) standards, each symbol may contain up to 256 chips. The spread signal may then be combined with an orthogonal code, such as a Walsh code (also known as a Walsh-Hadamaard sequence), to maintain relatively low to zero cross-correlation between multiple spread signals transmitted through a transmission medium. Each orthogonal code is also generated as a sequence of binary values, the width of each value equivalent to the symbol width.
Channels of these CDMA telecommunication systems may either be user channels or system channels. Voice, voiceband data, or data signals are generally transmitted over user channels, while system channels are used by a base station and users to broadcast information or are randomly accessed by users or the base station to establish a connection over a channel. The channels are usually spread using the same PN code sequences, and then each is spread with uniquely assigned orthogonal code signal. A receiver may then differentiate the channels using the unique, orthogonal code signal that is assigned to each channel. Since the same PN code sequence is used for all channels, and the PN code sequence phase is readily determined with reference to the pilot signal, detection of the orthogonal code signal occurs only at the beginning of the user's session. The sessions of user channels are relatively long, so the detection process for each user occurs relatively infrequently. In addition, the base station and user have the following a priori information: 1) the connection information when initialized, 2) the orthogonal code assigned to the user channel, and 3) coarse synchronization information for the initial detection process.
Commonly used channels, broadcast channels, or randomly-accessed channels, on the other hand, have bursty sessions that are relatively short, since only a small amount of information is exchanged between the user and base station, for example, to initialize a connection. In addition, the receiver has no a priori information about the code sequence used, and the potential code sequence changes relatively often. Consequently, the orthogonal code detection process for these channels may occur frequently, and systems desirably minimize the time required to perform detection. For these channels characterized by bursty sessions, a transmitter may use a preamble characterized by a signature sequence to enable rapid detection and demodulation of spread signals.
For example, a burst of the Random Access Channel (RACH) in accordance with W-CDMA standards is transmitted by the mobile user to initialize a dedicated set up procedure or for transporting data across the air interface (connectionless data transfer). A typical RACH burst 100 is shown in FIG. 1A and comprises preamble 102 and message 104. An idle time period of length 0.25 ms occurs between the preamble 102 and the message 104 that allows for detection of the preamble information (preamble signature sequence) and subsequent on-line processing of the message. The transmission time of each RACH burst 100 is randomly selected by the mobile according to 8 specified offsets, as shown in FIG. 1B, to increase throughput of the RACH data.
A preamble detector may employ the following a priori information to detect a given RACH preamble spreading (code number) and/or signature sequence. First, a user randomly selects one sequence out of a code set allocated to the specific sector. Second, the sequences are known but the number or subset available for use may vary depending on the traffic load of the sector. Third, the receiver (including the preamble detector) acknowledges multiple requests from RACH bursts occurring during the same frame offset.
A CDMA receiver may employ non-coherent demodulation of the signal of a user channel. For systems conforming to the IS-95 standard, for example, the receiver may use 64-ary, non-coherent demodulation (despreading) of channels. For this case, a demodulator generates all of the possible (i.e., 64) orthogonal code sequences and combines each with the received signal. A CDMA receiver may also employ coherent demodulation of the signal of a channel. In coherent demodulation, an initial estimate of the assigned code signal for the channel is determined from the received (actual code) signal. Using the initial estimate, a signal representing the error between the actual coded signal and the transmit code signal is employed to correct amplitude and phase deviations of the actual code signal.
Detection of the RACH burst preamble spans three axes. The first axis is the time axis that evaluates the energy content of hundreds of Tc/2 delay cells (Tc is the chip duration). The exact length of the uncertainty area depends on the size of the cell. The second axis is the code axis that evaluates these delay cells for all permissible spreading codes. The third axis is the frequency/phase uncertainty axis, which axis is related to the detection statistic (e.g., a non-coherent, quasi-coherent, or coherent decision statistic) used to determine the relative likelihood that the correct code with correct frequency and phase is detected.